Razor হলো ASP.NET Core এর একটি ভিউ ইঞ্জিন, যা HTML এবং C# কোডের সংমিশ্রণে ডাইনামিক ওয়েব পেজ তৈরি করতে ব্যবহৃত হয়। এটি সহজ এবং কার্যকর সিনট্যাক্সের মাধ্যমে ডেভেলপারদের জন্য কোড লিখা সহজ করে তোলে। Razor এর একটি প্রধান বৈশিষ্ট্য হলো ডেটা বাইন্ডিং, যা মডেল ডেটাকে ভিউতে প্রদর্শন করার জন্য ব্যবহৃত হয়।
Razor টেমপ্লেটে C# কোড লেখার জন্য @
চিহ্ন ব্যবহার করা হয়। এটি HTML এর মধ্যে ডাইনামিক কন্টেন্ট যুক্ত করতে ব্যবহৃত হয়।
@{
var message = "Welcome to Razor Syntax!";
}
<h1>@message</h1>
উপরের উদাহরণে @{}
ব্লকের মধ্যে একটি C# ভ্যারিয়েবল ডিক্লেয়ার করা হয়েছে, যা HTML-এ @message
দিয়ে প্রদর্শিত হয়েছে।
একটি সরল একক লাইনের জন্য @
চিহ্ন ব্যবহার করা হয়।
<p>The current year is @DateTime.Now.Year.</p>
Razor সিনট্যাক্সের মাধ্যমে লুপ এবং কন্ডিশনাল লজিক সহজেই ইমপ্লিমেন্ট করা যায়।
<ul>
@for (int i = 1; i <= 5; i++)
{
<li>Item @i</li>
}
</ul>
@if (DateTime.Now.Hour < 12)
{
<p>Good Morning!</p>
}
else
{
<p>Good Afternoon!</p>
}
Razor টেমপ্লেটে Razor কোডের জন্য @* *@
এবং HTML কোডের জন্য <!-- -->
কমেন্ট স্টাইল ব্যবহার করা হয়।
@* This is a Razor comment *@
<!-- This is an HTML comment -->
Razor টেমপ্লেটে ডেটা বাইন্ডিংয়ের মাধ্যমে মডেল ডেটাকে ভিউতে ব্যবহার করা যায়।
Model:
public class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
}
Controller:
public IActionResult Index()
{
var product = new Product
{
Name = "Laptop",
Price = 999.99m
};
return View(product);
}
View (Index.cshtml):
@model Product
<h1>Product Details</h1>
<p>Name: @Model.Name</p>
<p>Price: $@Model.Price</p>
একাধিক ডেটা প্রদর্শনের জন্য foreach
লুপ ব্যবহার করা হয়।
@model List<Product>
<h1>Product List</h1>
<ul>
@foreach (var product in Model)
{
<li>@product.Name - $@product.Price</li>
}
</ul>
Razor ডেটা বাইন্ডিং ফর্মের ইনপুট ডেটার সঙ্গে ইন্টিগ্রেট করা যায়।
<form method="post">
<label>Name:</label>
<input type="text" name="Name" />
<br />
<label>Price:</label>
<input type="number" name="Price" />
<br />
<button type="submit">Submit</button>
</form>
Tag Helper Razor ভিউতে HTML ট্যাগের ক্ষমতা বাড়ায়। উদাহরণস্বরূপ, ফর্মের জন্য:
<form asp-action="Save" asp-controller="Product">
<label for="Name">Name:</label>
<input asp-for="Name" class="form-control" />
<label for="Price">Price:</label>
<input asp-for="Price" class="form-control" />
<button type="submit">Submit</button>
</form>
Razor এ Partial View ব্যবহার করে কোড পুনরায় ব্যবহারযোগ্য করা যায়।
@await Html.PartialAsync("_ProductPartial", Model)
Razor ভিউতে Layout ব্যবহার করে কনসিস্টেন্ট পেজ ডিজাইন বজায় রাখা যায়।
@{
Layout = "_Layout";
}
Razor Sections ব্যবহার করে নির্দিষ্ট পেজের জন্য ডায়নামিক কনটেন্ট তৈরি করা যায়।
@section Scripts {
<script src="custom.js"></script>
}
Razor টেমপ্লেট সিনট্যাক্স এবং ডেটা বাইন্ডিং ASP.NET Core অ্যাপ্লিকেশনের একটি মূল অংশ। এটি ডেভেলপারদের জন্য সহজ, দ্রুত এবং কার্যকর পদ্ধতিতে ডাইনামিক ওয়েব পেজ তৈরি করতে সহায়তা করে।
common.read_more